Home

Informatik 6


Methoden mit EOS (I)

Methoden

In der objektorientierten Programmierung sind Methoden Unterprogramme, die das Verhalten der Objekte steuern. Wenn wir nur die Werte der Attribute der Objekte festlegen, ist unsere erzeugte Miniwelt sehr statisch. Erst durch die Einführung von Methoden wird die Sache dynamisch. Indem wir eine Methode mit ihrem Namen aufrufen, starten wir das damit verbundene Unterprogramm.
Um geometrische Figuren in Bewegung zu setzen, nutzen wir das Programm EOS. Das Programm ist Freeware und kann über den Link EOS heruntergeladen werden.

Kleine Einführung in EOS

Nach dem Öffnen des Programms befinden wir uns bereits im Editor. Hier können wir unseren Code schreiben. Wir beginnen mit folgender Zeile:
  • canvas:FENSTER
Dabei ist "canvas" (engl. Leinwand) der Bezeichner des Objekts und "FENSTER" der Datentyp. Wenn wir Objekte zeichnen wollen, brauchen wir immer ein Fenster. Wir können unser Programm jetzt testen, indem wir oben links auf den Button "Programm starten ..." und anschließend auf den grünen Pfeil klicken. Mit ein Klick auf "Programm bearbeiten" kehren wir wieder in die Editoransicht zurück.
Wir wollen nun ein Haus zeichnen, das aus drei Rechtecken (haus, fenster, tür) und einem Dreieck besteht. Diese Klassen stellt uns das Programm zu Verfügung (siehe rechten Rand des Editors). Wir erzeugen nun zuerst die vier Objekte:
  • canvas:FENSTER
  • x
  • haus:RECHTECK
  • fenster:RECHTECK
  • tür:RECHTECK
  • dach:DREIECK
Nun kommt die erste Methode ins Spiel. Die Klasse Rechteck besitzt eine Methode eckenSetzen(X links oben, Y links oben, X rechts unten, Y rechts unten). Wenn wir sie aufrufen, müssen wir jeweils die Koordinaten der linken oberen und der rechten unteren Ecke des Rechtecks angeben. Beim Dreieck müssen wir in der Methode die Koordinaten der drei Eckpunkte angeben. Diese Koordinaten lassen sich leicht im Koordinatensystem des Fensters (canvas) ermitteln. Dabei steht jedes Kästchen für die Seitenlänge 10. Wir ergänzen also unseren Code:
  • canvas:FENSTER
  • x
  • haus:RECHTECK
  • fenster:RECHTECK
  • tür:RECHTECK
  • dach:DREIECK
  • x
  • haus.eckenSetzen(0,100,200,0)
  • fenster.eckenSetzen(30,80,60,60)
  • tür.eckenSetzen(130,80,170,0)
  • dach.eckenSetzen(0,100,100,130,200,100)
Wir stellen fest: Um die Methode nutzen zu können, müssen wir jeweils den Namen des Objekts davor schreiben, auf das die Methode angewandt werden soll.
Natürlich wollen wir unser Werk jetzt auch betrachten. Dazu müssen wir jedes unserer Objekte mit Hilfe der Methode zeichne(FIGUR) aus der Klasse FENSTER sichtbar machen. canvas erhält nun sozusagen den Auftrag, unsere Objekte zu zeichnen:
  • canvas:FENSTER
  • x
  • haus:RECHTECK
  • fenster:RECHTECK
  • tür:RECHTECK
  • dach:DREIECK
  • x
  • haus.eckenSetzen(0,100,200,0)
  • fenster.eckenSetzen(30,80,60,60)
  • tür.eckenSetzen(130,80,170,0)
  • dach.eckenSetzen(0,100,100,130,200,100)
  • x
  • canvas.zeichne(haus)
  • canvas.zeichne(fenster)
  • canvas.zeichne(tür)
  • canvas.zeichne(dach)
Erst jetzt können wir nach dem Starten des Programms unser Werk bewundern. Um jetzt noch etwas Farbe ins Spiel zu bringen, nutzen wir die Methode füllfarbeSetzen(FARBE), die für alle Figuren zur Verfügung steht:
  • canvas:FENSTER
  • x
  • haus:RECHTECK
  • fenster:RECHTECK
  • tür:RECHTECK
  • dach:DREIECK
  • x
  • haus.eckenSetzen(0,100,200,0)
  • fenster.eckenSetzen(30,80,60,60)
  • tür.eckenSetzen(130,80,170,0)
  • dach.eckenSetzen(0,100,100,130,200,100)
  • x
  • canvas.zeichne(haus)
  • canvas.zeichne(fenster)
  • canvas.zeichne(tür)
  • canvas.zeichne(dach)
  • x
  • dach.füllfarbeSetzen(rot)
  • tür.füllfarbeSetzen(schwarz)
  • fenster.füllfarbeSetzen(schwarz)
Wenn man den Slider für die Geschwindigkeit vor dem Programmstart nach links zieht (etwa erstes Drittel), kann man beobachten, wie das Programm Zeile für Zeile abgearbeitet wird und das Haus entsteht.